What is sumchecker?
The sumchecker npm package is used to verify the integrity of files by checking their checksums against known values. This is particularly useful for ensuring that files have not been tampered with or corrupted during download or transfer.
What are sumchecker's main functionalities?
Checksum Verification
This feature allows you to verify the checksums of multiple files against a checksum file. The code sample demonstrates how to use the sumchecker package to verify the integrity of 'file1.zip' and 'file2.zip' using SHA-256 checksums listed in 'checksums.txt'.
const sumchecker = require('sumchecker');
const path = require('path');
const checksumFile = 'checksums.txt';
const baseDir = path.join(__dirname, 'downloads');
const files = ['file1.zip', 'file2.zip'];
sumchecker('sha256', checksumFile, baseDir, files)
.then(() => {
console.log('All files verified successfully');
})
.catch((err) => {
console.error('Checksum verification failed', err);
});
Other packages similar to sumchecker
integrity-checker
The integrity-checker package provides similar functionality for verifying file integrity using checksums. It supports multiple algorithms like MD5, SHA-1, and SHA-256. Compared to sumchecker, integrity-checker offers a more extensive set of algorithms and additional features like recursive directory checks.
checksum-validator
The checksum-validator package is another alternative for verifying file checksums. It is simpler and more lightweight compared to sumchecker, focusing on ease of use and quick validation of individual files. It supports common algorithms like MD5 and SHA-256.
Sumchecker
Sumchecker is a pure Node.js solution to validating files specified in a checksum file, which are
usually generated by programs such as sha256sum
.
Usage
const sumchecker = require('sumchecker');
try {
await sumchecker(algorithm, checksumFilename, baseDir, filesToCheck);
console.log('All files validate!');
} catch (error) {
console.error('An error occurred', error);
}
Returns a Promise
. The promise is resolved when all files specified in
filesToCheck
are validated. The promise is rejected otherwise.
Parameters
algorithm
String
- The hash algorithm used in checksumFilename
. Corresponds to the
algorithms allowed by crypto.createHash()
.
checksumFilename
String
- The path to the checksum file.
baseDir
String
- The base directory for the files specified in filesToCheck
.
filesToCheck
Array
or String
- one or more paths of the files that will be validated, relative to
baseDir
.
Errors
These are sumchecker
-specific error classes that are passed to the promise's reject callback.
sumchecker.ChecksumMismatchError
When at least one of the files does not match its expected checksum.
Properties:
filename
(String
) - a path to a file that did not match
sumchecker.ChecksumParseError
When the checksum file cannot be parsed (as in, it does not match the checksum file format).
Properties:
lineNumber
(Number
) - the line number that could not be parsedline
(String
) - the raw line data that could not be parsed, sans newline
sumchecker.NoChecksumFoundError
When at least one of the files specified to check is not listed in the checksum file.
Properties:
Support
Get supported sumchecker with the Tidelift Subscription.
Security contact information
To report a security vulnerability, please use the Tidelift security
contact. Tidelift will coordinate the fix and disclosure.
Legal
This library is copyrighted under the terms of the Apache 2.0 License.